home *** CD-ROM | disk | FTP | other *** search
- //Language: Modula2
- //Copyright (c) 1992-2002 Altium Limited
- //All rights reserved.
- //http://www.dream-com.com
- //contact@dream-com.com
-
- // states
- State=snormal
- State=sstring
- State=scomment
- State=sasm
- // tokens
- Token=tnone
- Token=tstring
- Token=tcomment
- Token=tident
- Token=tinteger
- Token=tfloat
- Token=tresword
- Token=tassembler
- Token=turl
- Token=twhitespace
- //delims
- Delimiters=;.,:'"{}[]()?!@#$%^&*-+=|\/
-
- // reswords
- snormal 'ARRAY' snormal tresword
- snormal 'ASM' snormal tresword
- snormal 'BEGIN' snormal tresword
- snormal 'BOOLEAN' snormal tresword
- snormal 'BY' snormal tresword
- snormal 'CARDINAL' snormal tresword
- snormal 'CASE' snormal tresword
- snormal 'CHAR' snormal tresword
- snormal 'CLASS' snormal tresword
- snormal 'CONST' snormal tresword
- snormal 'DEFINITION' snormal tresword
- snormal 'DESTROY' snormal tresword
- snormal 'DIV' snormal tresword
- snormal 'DO' snormal tresword
- snormal 'ELSE' snormal tresword
- snormal 'ELSIF' snormal tresword
- snormal 'END' snormal tresword
- snormal 'EXIT' snormal tresword
- snormal 'EXPORT' snormal tresword
- snormal 'FOR' snormal tresword
- snormal 'FOREIGN' snormal tresword
- snormal 'FROM' snormal tresword
- snormal 'IF' snormal tresword
- snormal 'IMPLEMENTATION' snormal tresword
- snormal 'IMPORT' snormal tresword
- snormal 'INHERIT' snormal tresword
- snormal 'INIT' snormal tresword
- snormal 'INLINE' snormal tresword
- snormal 'INTEGER' snormal tresword
- snormal 'LONGCARD' snormal tresword
- snormal 'LONGINT' snormal tresword
- snormal 'LONGREAL' snormal tresword
- snormal 'LOOP' snormal tresword
- snormal 'MOD' snormal tresword
- snormal 'MODULE' snormal tresword
- snormal 'NIL' snormal tresword
- snormal 'OF' snormal tresword
- snormal 'POINTER' snormal tresword
- snormal 'PROCEDURE' snormal tresword
- snormal 'REAL' snormal tresword
- snormal 'RECORD' snormal tresword
- snormal 'REPEAT' snormal tresword
- snormal 'RETURN' snormal tresword
- snormal 'SET' snormal tresword
- snormal 'THEN' snormal tresword
- snormal 'TO' snormal tresword
- snormal 'TYPE' snormal tresword
- snormal 'UNTIL' snormal tresword
- snormal 'VAR' snormal tresword
- snormal 'WHILE' snormal tresword
- snormal 'WITH' snormal tresword
-
- // numbers
- snormal [0-9][0-9]* snormal tinteger
- snormal [1-9][0-9]*\.[0-9]* snormal tfloat
- snormal [1-9][0-9]*{\.[0-9]+}|e{[\+\-]}|[0-9]+ snormal tfloat
-
- //idents
- snormal [a-z_A-Z][a-z_A-Z0-9]* snormal tident
-
- //white space
- snormal #32* snormal twhitespace
-
- //strings
- snormal \" sstring tstring
- sstring [^\"]* sstring tstring
- sstring \" snormal tstring
- sstring \"\" sstring tstring
- sstring $ snormal tstring
-
- //comments
- snormal (\* scomment tcomment
- scomment [^\*]* scomment tcomment
- scomment \*[^)] scomment tcomment
- scomment [\*]*) snormal tcomment
-
- // asm
- snormal 'asm' sasm tresword
- sasm [a-z_A-Z0-9;,@-.]* sasm tassembler
- sasm 'end' snormal tresword
- // asm comment
- sasm (\* scomment tcomment push
- // asm reswords
- sasm 'AAA' sasm tresword
- sasm 'AAD' sasm tresword
- sasm 'AAM' sasm tresword
- sasm 'AAS' sasm tresword
- sasm 'ADC' sasm tresword
- sasm 'ADD' sasm tresword
- sasm 'AND' sasm tresword
- sasm 'ARPL' sasm tresword
- sasm 'BOUND' sasm tresword
- sasm 'BSF' sasm tresword
- sasm 'BSR' sasm tresword
- sasm 'BSWAP' sasm tresword
- sasm 'BT' sasm tresword
- sasm 'BTC' sasm tresword
- sasm 'BTR' sasm tresword
- sasm 'BTS' sasm tresword
- sasm 'CALL' sasm tresword
- sasm 'CBW' sasm tresword
- sasm 'CDQ' sasm tresword
- sasm 'CLC' sasm tresword
- sasm 'CLD' sasm tresword
- sasm 'CLI' sasm tresword
- sasm 'CLTS' sasm tresword
- sasm 'CMC' sasm tresword
- sasm 'CMP' sasm tresword
- sasm 'CMPS' sasm tresword
- sasm 'CMPSB' sasm tresword
- sasm 'CMPSD' sasm tresword
- sasm 'CMPSW' sasm tresword
- sasm 'CMPXCHG' sasm tresword
- sasm 'CWD' sasm tresword
- sasm 'CWDE' sasm tresword
- sasm 'DAA' sasm tresword
- sasm 'DAS' sasm tresword
- sasm 'DEC' sasm tresword
- sasm 'DIV' sasm tresword
- sasm 'ENTER' sasm tresword
- sasm 'ESC' sasm tresword
- sasm 'F2XM1' sasm tresword
- sasm 'FABS' sasm tresword
- sasm 'FADD' sasm tresword
- sasm 'FADDP' sasm tresword
- sasm 'FBLD' sasm tresword
- sasm 'FBSTP' sasm tresword
- sasm 'FCHS' sasm tresword
- sasm 'FCLEX' sasm tresword
- sasm 'FCOM' sasm tresword
- sasm 'FCOMP' sasm tresword
- sasm 'FCOMPP' sasm tresword
- sasm 'FCOS' sasm tresword
- sasm 'FDECSTP' sasm tresword
- sasm 'FDISI' sasm tresword
- sasm 'FDIV' sasm tresword
- sasm 'FDIVP' sasm tresword
- sasm 'FDIVR' sasm tresword
- sasm 'FDIVRP' sasm tresword
- sasm 'FENI' sasm tresword
- sasm 'FFREE' sasm tresword
- sasm 'FIADD' sasm tresword
- sasm 'FICOM' sasm tresword
- sasm 'FICOMP' sasm tresword
- sasm 'FIDIV' sasm tresword
- sasm 'FIDIVR' sasm tresword
- sasm 'FILD' sasm tresword
- sasm 'FIMUL' sasm tresword
- sasm 'FINCSTP' sasm tresword
- sasm 'FINIT' sasm tresword
- sasm 'FIST' sasm tresword
- sasm 'FISTP' sasm tresword
- sasm 'FISUB' sasm tresword
- sasm 'FISUBR' sasm tresword
- sasm 'FLD' sasm tresword
- sasm 'FLD1' sasm tresword
- sasm 'FLDCW' sasm tresword
- sasm 'FLDENV' sasm tresword
- sasm 'FLDL2E' sasm tresword
- sasm 'FLDL2T' sasm tresword
- sasm 'FLDLG2' sasm tresword
- sasm 'FLDLN2' sasm tresword
- sasm 'FLDPI' sasm tresword
- sasm 'FLDZ' sasm tresword
- sasm 'FMUL' sasm tresword
- sasm 'FMULP' sasm tresword
- sasm 'FNCLEX' sasm tresword
- sasm 'FNDISI' sasm tresword
- sasm 'FNENI' sasm tresword
- sasm 'FNINIT' sasm tresword
- sasm 'FNOP' sasm tresword
- sasm 'FNSAVE' sasm tresword
- sasm 'FNSTCW' sasm tresword
- sasm 'FNSTENV' sasm tresword
- sasm 'FNSTSW' sasm tresword
- sasm 'FPATAN' sasm tresword
- sasm 'FPREM' sasm tresword
- sasm 'FPREM1' sasm tresword
- sasm 'FPTAN' sasm tresword
- sasm 'FRNDINT' sasm tresword
- sasm 'FRSTOR' sasm tresword
- sasm 'FSAVE' sasm tresword
- sasm 'FSCALE' sasm tresword
- sasm 'FSETPM' sasm tresword
- sasm 'FSIN' sasm tresword
- sasm 'FSINCOS' sasm tresword
- sasm 'FSQRT' sasm tresword
- sasm 'FST' sasm tresword
- sasm 'FSTCW' sasm tresword
- sasm 'FSTENV' sasm tresword
- sasm 'FSTP' sasm tresword
- sasm 'FSTSW' sasm tresword
- sasm 'FSUB' sasm tresword
- sasm 'FSUBP' sasm tresword
- sasm 'FSUBR' sasm tresword
- sasm 'FSUBRP' sasm tresword
- sasm 'FTST' sasm tresword
- sasm 'FUCOM' sasm tresword
- sasm 'FUCOMP' sasm tresword
- sasm 'FUCOMPP' sasm tresword
- sasm 'FWAIT' sasm tresword
- sasm 'FXAM' sasm tresword
- sasm 'FXCH' sasm tresword
- sasm 'FXTRACT' sasm tresword
- sasm 'FYL2X' sasm tresword
- sasm 'FYL2XP1' sasm tresword
- sasm 'HLT' sasm tresword
- sasm 'IDIV' sasm tresword
- sasm 'IMUL' sasm tresword
- sasm 'IN' sasm tresword
- sasm 'INC' sasm tresword
- sasm 'INSB' sasm tresword
- sasm 'INSD' sasm tresword
- sasm 'INSW' sasm tresword
- sasm 'INT' sasm tresword
- sasm 'INTO' sasm tresword
- sasm 'INVD' sasm tresword
- sasm 'INVLPG' sasm tresword
- sasm 'IRET' sasm tresword
- sasm 'IRETD' sasm tresword
- sasm 'JA' sasm tresword
- sasm 'JAE' sasm tresword
- sasm 'JB' sasm tresword
- sasm 'JBE' sasm tresword
- sasm 'JC' sasm tresword
- sasm 'JCXZ' sasm tresword
- sasm 'JE' sasm tresword
- sasm 'JECXZ' sasm tresword
- sasm 'JG' sasm tresword
- sasm 'JGE' sasm tresword
- sasm 'JL' sasm tresword
- sasm 'JLE' sasm tresword
- sasm 'JMP' sasm tresword
- sasm 'JNA' sasm tresword
- sasm 'JNAE' sasm tresword
- sasm 'JNB' sasm tresword
- sasm 'JNBE' sasm tresword
- sasm 'JNC' sasm tresword
- sasm 'JNE' sasm tresword
- sasm 'JNG' sasm tresword
- sasm 'JNGE' sasm tresword
- sasm 'JNL' sasm tresword
- sasm 'JNLE' sasm tresword
- sasm 'JNO' sasm tresword
- sasm 'JNP' sasm tresword
- sasm 'JNS' sasm tresword
- sasm 'JNZ' sasm tresword
- sasm 'JO' sasm tresword
- sasm 'JP' sasm tresword
- sasm 'JPE' sasm tresword
- sasm 'JPO' sasm tresword
- sasm 'JS' sasm tresword
- sasm 'JZ' sasm tresword
- sasm 'LAHF' sasm tresword
- sasm 'LAR' sasm tresword
- sasm 'LDS' sasm tresword
- sasm 'LEA' sasm tresword
- sasm 'LEAVE' sasm tresword
- sasm 'LES' sasm tresword
- sasm 'LFS' sasm tresword
- sasm 'LGDT' sasm tresword
- sasm 'LGS' sasm tresword
- sasm 'LIDT' sasm tresword
- sasm 'LLDT' sasm tresword
- sasm 'LMSW' sasm tresword
- sasm 'LOCK' sasm tresword
- sasm 'LODS' sasm tresword
- sasm 'LODSB' sasm tresword
- sasm 'LODSD' sasm tresword
- sasm 'LODSW' sasm tresword
- sasm 'LOOP' sasm tresword
- sasm 'LOOPD' sasm tresword
- sasm 'LOOPDE' sasm tresword
- sasm 'LOOPDNE' sasm tresword
- sasm 'LOOPDNZ' sasm tresword
- sasm 'LOOPDZ' sasm tresword
- sasm 'LOOPE' sasm tresword
- sasm 'LOOPNE' sasm tresword
- sasm 'LOOPNZ' sasm tresword
- sasm 'LOOPZ' sasm tresword
- sasm 'LSL' sasm tresword
- sasm 'LSS' sasm tresword
- sasm 'LTR' sasm tresword
- sasm 'MOV' sasm tresword
- sasm 'MOVS' sasm tresword
- sasm 'MOVSB' sasm tresword
- sasm 'MOVSD' sasm tresword
- sasm 'MOVSW' sasm tresword
- sasm 'MOVSX' sasm tresword
- sasm 'MOVZX' sasm tresword
- sasm 'MUL' sasm tresword
- sasm 'NEG' sasm tresword
- sasm 'NOP' sasm tresword
- sasm 'NOT' sasm tresword
- sasm 'OR' sasm tresword
- sasm 'OUT' sasm tresword
- sasm 'OUTSB' sasm tresword
- sasm 'OUTSD' sasm tresword
- sasm 'OUTSW' sasm tresword
- sasm 'POP' sasm tresword
- sasm 'POPA' sasm tresword
- sasm 'POPAD' sasm tresword
- sasm 'POPF' sasm tresword
- sasm 'POPFD' sasm tresword
- sasm 'PUSH' sasm tresword
- sasm 'PUSHA' sasm tresword
- sasm 'PUSHAD' sasm tresword
- sasm 'PUSHF' sasm tresword
- sasm 'PUSHFD' sasm tresword
- sasm 'RCL' sasm tresword
- sasm 'RCR' sasm tresword
- sasm 'REP' sasm tresword
- sasm 'REPE' sasm tresword
- sasm 'REPNE' sasm tresword
- sasm 'REPNZ' sasm tresword
- sasm 'REPZ' sasm tresword
- sasm 'RET' sasm tresword
- sasm 'RETF' sasm tresword
- sasm 'RETN' sasm tresword
- sasm 'ROL' sasm tresword
- sasm 'ROR' sasm tresword
- sasm 'SAHF' sasm tresword
- sasm 'SAL' sasm tresword
- sasm 'SAR' sasm tresword
- sasm 'SBB' sasm tresword
- sasm 'SCAS' sasm tresword
- sasm 'SCASB' sasm tresword
- sasm 'SCASD' sasm tresword
- sasm 'SCASW' sasm tresword
- sasm 'SEGCS' sasm tresword
- sasm 'SEGDS' sasm tresword
- sasm 'SEGES' sasm tresword
- sasm 'SEGFS' sasm tresword
- sasm 'SEGGS' sasm tresword
- sasm 'SEGSS' sasm tresword
- sasm 'SETA' sasm tresword
- sasm 'SETAE' sasm tresword
- sasm 'SETB' sasm tresword
- sasm 'SETBE' sasm tresword
- sasm 'SETC' sasm tresword
- sasm 'SETE' sasm tresword
- sasm 'SETG' sasm tresword
- sasm 'SETGE' sasm tresword
- sasm 'SETL' sasm tresword
- sasm 'SETLE' sasm tresword
- sasm 'SETNA' sasm tresword
- sasm 'SETNAE' sasm tresword
- sasm 'SETNB' sasm tresword
- sasm 'SETNBE' sasm tresword
- sasm 'SETNC' sasm tresword
- sasm 'SETNE' sasm tresword
- sasm 'SETNG' sasm tresword
- sasm 'SETNGE' sasm tresword
- sasm 'SETNL' sasm tresword
- sasm 'SETNLE' sasm tresword
- sasm 'SETNO' sasm tresword
- sasm 'SETNP' sasm tresword
- sasm 'SETNS' sasm tresword
- sasm 'SETNZ' sasm tresword
- sasm 'SETO' sasm tresword
- sasm 'SETP' sasm tresword
- sasm 'SETPE' sasm tresword
- sasm 'SETPO' sasm tresword
- sasm 'SETS' sasm tresword
- sasm 'SETZ' sasm tresword
- sasm 'SGDT' sasm tresword
- sasm 'SHL' sasm tresword
- sasm 'SHLD' sasm tresword
- sasm 'SHR' sasm tresword
- sasm 'SHRD' sasm tresword
- sasm 'SIDT' sasm tresword
- sasm 'SLDT' sasm tresword
- sasm 'SMSW' sasm tresword
- sasm 'STC' sasm tresword
- sasm 'STD' sasm tresword
- sasm 'STI' sasm tresword
- sasm 'STOS' sasm tresword
- sasm 'STOSB' sasm tresword
- sasm 'STOSD' sasm tresword
- sasm 'STOSW' sasm tresword
- sasm 'STR' sasm tresword
- sasm 'SUB' sasm tresword
- sasm 'TEST' sasm tresword
- sasm 'VERR' sasm tresword
- sasm 'VERW' sasm tresword
- sasm 'WAIT' sasm tresword
- sasm 'WBINVD' sasm tresword
- sasm 'XADD' sasm tresword
- sasm 'XCHG' sasm tresword
- sasm 'XLAT' sasm tresword
- sasm 'XOR' sasm tresword
-